Transforming Programs into Recursive Functions

نویسندگان

  • Magnus O. Myreen
  • Michael J. C. Gordon
چکیده

This paper presents a new proof-assistant based approach to program verification: programs are translated, via fully-automatic deduction, into tail-recursive function defined in the logic of a theorem prover. This approach improves on well-established methods based on Hoare logic and verification condition generation (VCG) by removing the need to annotate programs with assertions, making the proof natural to the theorem prover and being easier to implement than a trusted VCG. Our tool has been implemented in the HOL4 theorem prover.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Proving program refinements and transformations

In this thesis we develop a theory of program refinement and equivalence which can be used to develop practical tools for program development, analysis and modification. The theory is based on the use of general specifications and an imperative kernel language. We use weakest preconditions, expressed as formulae in infinitary logic to prove refinement and equivalence between programs. The kerne...

متن کامل

An Analytical Method Forparallelization of Recursive

Received (received date) Revised (revised date) Communicated by Christian Lengauer ABSTRACT Programming with parallel skeletons is an attractive framework because it encourages programmers to develop eecient and portable parallel programs. However, extracting parallelism from sequential speciications and constructing eecient parallel programs using the skeletons are still diicult tasks. In this...

متن کامل

An Analytical Method for Parallelization of Recursive Functions

Programming with parallel skeletons is an attractive framework because it encourages programmers to develop e cient and portable parallel programs. However, extracting parallelism from sequential speci cations and constructing e cient parallel programs using the skeletons are still di cult tasks. In this paper, we propose an analytical approach to transforming recursive functions on general rec...

متن کامل

Theory of Linear Equations Applied to Program Transformation

In this paper is presented a technique for transforming a class of recursive equations called linear equations into iterative equations. Linear equations are characterized by involving at the most one recursive call for any invocation. In contrast to the conventional techniques, the scheme of program transformation presented here involves finding the solution of the given linear equation and tr...

متن کامل

Improved Graph-Based Lambda Lifting

Lambda lifting is a technique for transforming a program with local function definitions into a program consisting only of global function definitions. The best known lambda lifting algorithm computes the minimal set of extraneous parameters needed by each function in O(n) steps by solving a system of set equations which are recursive if the functions in the program are mutually recursive. Mutu...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Electr. Notes Theor. Comput. Sci.

دوره 240  شماره 

صفحات  -

تاریخ انتشار 2009